#pragma once
#include "sgpolygon.h"
#include "sgptr.h"
#include "sgcomposite.h"
#include "sgmesh.h"

class CSgCylinder :
	public CSgPolygon
{
public:
	CSgCylinder(double, double);
	~CSgCylinder(void);
	virtual void Render();

private:
	double m_height;
	double m_radius;
	// The number of sides for the cylinder
	unsigned m_side_num;
	CSgPtr<CSgComposite> m_cylinder;

	CSgPtr<CSgMesh> Top();
	CSgPtr<CSgMesh> Sides();
	CSgPtr<CSgMesh> Bottom();
	void Create();
};
